
#ifndef LZ78_LZ78_h
#define LZ78_LZ78_h

#include "HashTable.h"
#include "bitfile.h"
#include "math.h"
#include "DNode.h"

#define CHARACTER 8

//Nella funzione viene creata la tabella Hash e viene inizializzata

Node* CreateHashDictionary(void);

void DeleteDictionary(Node* Dictionary);

void Encoder(BITFILE* SourceFile, BITFILE* DestinationFile);

void Decoder(BITFILE* SourceFile, BITFILE* DestinationFile);

uint8_t MinBits(uint16_t DictionaryIndex);

#endif
